Python爬虫实战(三):简单爬取网页图片

先上代码:

#coding=utf-8
import urllib.request

for i in range(1,41):
   imgurl = "http://mtl.ttsqgs.com/images/img/11552/"
   imgurl += str(i) + ".jpg"
   urllib.request.urlretrieve(imgurl,'%s.jpg' % i)




这样短短的几行代码就把该网页上的图片全部下载下来了。怎样,是不是超级简单。


准备工作:
下载利器
urllib.request.urlretrieve
查看帮助
help(urllib.request.urlretrieve)
Help on function urlretrieve in module urllib.request:

urlretrieve(url, filename=None, reporthook=None, data=None)
    Retrieve a URL into a temporary location on disk.
    
    Requires a URL argument. If a filename is passed, it is used as
    the temporary file location. The reporthook argument should be
    a callable that accepts a block number, a read size, and the
    total file size of the URL target. The data argument should be
    valid URL encoded data.
    
    If a filename is passed and the URL points to a local resource,
    the result is a copy from local file to new file.
    
    Returns a tuple containing the path to the newly created
    data file as well as the resulting HTTPMessage object.


你只需要一个下载链接并设置好参数,即可下载。


图片分析:
网站: https://www.meitulu.com/item/11552.html
右键单击正文里的图片  ---> 选择   查看图像信息。

http://mtl.ttsqgs.com/images/img/11552/1.jpg

再看看地址框类的图片,

http://mtl.ttsqgs.com/images/img/11552/2.jpg
http://mtl.ttsqgs.com/images/img/11552/3.jpg
http://mtl.ttsqgs.com/images/img/11552/4.jpg

这规律也是没谁了。

网站介绍


发行机构: 猫萌榜

期刊编号: Vol.023

图片数量: 40 张


也就是说最后一张的链接:
http://mtl.ttsqgs.com/images/img/11552/40.jpg

写出代码:
for i in range(1,41):        #半开半闭区间[1,41)
   imgurl = "http://mtl.ttsqgs.com/images/img/11552/"
   imgurl += str(i) + ".jpg"   #设置好链接,进行循环, str(i)将类型i转换为字符串
   urllib.request.urlretrieve(imgurl,'%s.jpg' % i)     #下载到当前目录



当然,一般都需要查看下载进度,可以这样修改:


#coding=utf-8
import urllib.request

for i in range(1,41):
   imgurl = "http://mtl.ttsqgs.com/images/img/11552/"
   imgurl += str(i) + ".jpg"
   print ("正在下载第{}张图片".format(i))
   urllib.request.urlretrieve(imgurl,'%s.jpg' % i)
    
print ("OK!DownLoad ALL!")


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值